Skip to content

TypeDB Core Concepts #958

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

dmitrii-ubskii
Copy link
Member

@dmitrii-ubskii dmitrii-ubskii commented Jul 24, 2025

No description provided.

Copy link
Member

@krishnangovindraj krishnangovindraj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wasn't meant to review the TypeDB folder because I was assigned drivers, but I didn't notice I crossed over.

@@ -17,6 +17,8 @@ Key responsibilities of a TypeDB driver include:
* **Error handling**: Converting server errors into language-specific exceptions
* **Resource management**: Properly managing network resources and memory

Check out the available xref:{page-version}@new_reference::typedb-grpc-drivers/index.adoc[gRPC drivers] and xref:{page-version}@new_reference::typedb-http-drivers/index.adoc[HTTP helper libraries] to find a driver that works for you.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Strange place to have it. Why not add it in the beginning

They provide a programming language-specific interface for all database operations, from connection management to query execution. Check the list of languages available here

. Fill in your password and hit *Connect*. Your password can be found in your downloaded credentials file (if you have one).

For an enterprise deployment:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How come enterprise and not CE? Why does a cluster have a single address?

Comment on lines +11 to +46

[tabs]
====
Studio::
+
--
For a cloud deployment:

// include::../tools/studio.adoc[tag=connect_cloud_studio]
. In the https://cloud.typedb.com[TypeDB Cloud website], navigate to your cluster and click *Connect*. Then, click *Connect with TypeDB Studio*. This will launch TypeDB Studio.
. Fill in your password and hit *Connect*. Your password can be found in your downloaded credentials file (if you have one).

For an enterprise deployment:

// include::../tools/studio.adoc[tag=connect_enterprise_studio]
. Launch TypeDB Studio.
. Enter the address of the HTTP endpoint of your cluster. By default, this is at port 8000.
. Enter your username and password.
. Click `Connect`.
--
Console::
+
--
Run Console in CLI:

//include::../tools/console.adoc[tag=connect_console]
.Connect to TypeDB
[source,console]
----
typedb console --address=<server-address> --username=<username>
----

You will be prompted for a password.
--

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why bother at all here when they have there dedicated pages under /tools ?

== Create

When a database is created, it contains no data. The first step to building a rich, structured knowledge base is to insert data into the
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Except that can't be the first step because you need a schema

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While true, CRUD specifically covers data. Schema is briefly touched on in databases.adoc (which comes before in the page list).

$parentship isa parentship, links (parent: $p, child: $c);
update
$parentship links (parent: $c, child: $p);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I need to update my docs to include links.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I hope this page will be expanded.
Else, I'd nuke it as "being obvious" and rename horizonal-scaling to high-availability for clarity.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IIUC, this is meant to be sort of a stub until we have useful vertical scaling configuration.

This section provides a foundational understanding of the TypeDB's design and usage. TypeDB is a polymorphic database designed to represent and query complex systems.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Redundancy with second paragraph.

Comment on lines 12 to 13
with a sample database and queries. This section of the documentation covers the architecture and design of TypeDB.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't send them away. This isn't the first page they arrive on. It's a core-concepts page.
Turn this into the index.adoc and send them to one of the pages within this chapter.

This section of the documentation covers the architecture and design of TypeDB.
This is a good sentence to lead the page-listing.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some of the content seems redundant, given we have a "What is TypeDB" and "Why TypeDB" section.
We can start with a paragraph liner on what it's good for. I prefer this ordering of sentences, since it's "What > Why > How?":

TypeDB is designed for a wide range of applications, from startups needing a scalable backend for a knowledge base to large enterprises requiring high-throughput transactional systems. TypeDB's core philosophy is centered on its strong type system, making it particularly well-suited for knowledge-intensive applications. Key
features include full ACID compliance for transactional integrity, a logical schema for modeling complex data, and a robust replication system for high availability.

Given the content of the rest of the section, I'd expect the overview to cover the general architecture of TypeDB. Things like:

  • It's built on top of RocksDB and optimised for OLTP workloads.
  • Provides ACID guarantees till snapshot isolation.
  • Has a cluster implementation for High-availability based on raft.
  • Available as CE & also managed on cloud.
  • Maybe even: Implemented in rust / Uses GRPC for most drivers, but also has an HTTP endpoint.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why does this page exist here, given we have:

  • A dedicated page each for console and studio that already covers how to connect using them
  • A driver directory as a direct sibling of this one which covers the driver connections

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm honestly not sure. I don't think there's much to the concept of connections I can cover, so I just gave quickstart-level instructions to connect.

@dmitrii-ubskii dmitrii-ubskii marked this pull request as ready for review August 5, 2025 13:41
@dmitrii-ubskii dmitrii-ubskii merged commit 4427660 into typedb:3.x-development Aug 5, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants